package ink.openmind.concurrencyinpractice.demo01;

/**
 * @author wangzhuangzhuang
 * @DESC: 😣在没有同步情况下的共享变量（有状态）
 * @date 2022-03-04 13:25
 */
public class NoVisibility {
	private static boolean ready;
	private static int number;

	private static class ReaderThread extends Thread {
		public void run() {
			while(!ready){
				Thread.yield(); // Thread.yield()方法使得当前线程由【执行状态】变成为【就绪状态】，让出CPU，在下一个线程执行时候，此线程可能被执行，也可能没有被执行。
				System.out.println(number);
			}
		}
	}

	public static void main(String[] args) {
		new ReaderThread().start();
		number = 42;
		ready = true;
	}

}